#pragma once

#include <asm/pgtable.h>

struct pt_alloc_ops
{
    pte_t *(*get_pte_virt)(phys_addr_t pa);
    phys_addr_t (*alloc_pte)(uintptr_t va);
};

void create_pgd_mapping(struct pt_alloc_ops *ptops, pgd_t *pgdp, uintptr_t va, phys_addr_t pa, phys_addr_t sz,
                        pgprot_t prot);
